#ifndef GNLTEXTURE_H
#define GNLTEXTURE_H

#include <iostream>
#include <vector>
#include <glaux.h>
#include <IL/il.h>

using namespace std;

class gnlTexture;


/*

class GNLDataTexture{

protected:
	int id;
	UINT tex;
public:
	friend class gnlTexture;
	GNLDataTexture(UINT gl_tex, int user_id):tex(gl_tex),id(user_id){}
};
*/

class gnlTexture{

public:
	string	name;
	double transparencyFactor;

	string fileName;
	int oglId; // Internal Id in OpenGL


	gnlTexture(string name, string fileName, double transparencyFactor = 0){
		this->transparencyFactor = transparencyFactor;
		this->name = name;
		this->fileName = fileName;
		this->oglId = -1;
	}

	void setTransparencyFactor(float transparencyFactor){this->transparencyFactor = transparencyFactor;}

};


class gnlTextureManager{
private:

	//vector<gnlTexture*> texture; //guarda ids das texturas geradas pelo ogl
	//bool verify_file(const char *file_name);

public:

	//gnlTextureManager(){}
	//UINT getTex(const gnlTexture &texture);
	static bool AddTexture(gnlTexture &texture);
};













#endif